A semiconductor memory device is a memory device that may be formed using a semiconductor such as silicon Si, germanium Ge, gallium arsenide GaAs, indium phosphide InP, etc. A semiconductor memory device may be classified as a volatile semiconductor memory device or a nonvolatile semiconductor memory device.
A volatile memory device loses its stored data when its power supply is interrupted. Examples of volatile memory devices include a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), etc. A nonvolatile memory device retains its stored data even when its power supply is interrupted. Examples of nonvolatile memory devices include a read only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a flash memory, a phase change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), a ferroelectric RAM (FRAM), etc.
Flash memory is being used in various fields because of features such as low noise, a high capacity, etc. A flash memory stores data by changing threshold voltages of memory cells. A flash memory device senses threshold voltages of memory cells and decodes stored data using desired (and/or alternatively predetermined) read voltages. However, due to various factors, errors may be included in data stored in a flash memory device. Various technologies for restoring those errors are being developed these days.